package com.wcpdoc.exam.core.service;

import com.wcpdoc.core.entity.PageOut;
import com.wcpdoc.core.service.BaseService;
import com.wcpdoc.exam.core.entity.Exer;

import java.util.List;
import java.util.Map;

/**
 * 练习服务层接口
 * 
 * v1.0 chenyun 2021-03-02 13:43:21
 */
public interface ExerService extends BaseService<Exer> {

	/**
	 * 试题模拟添加
	 * 
	 * v1.0 chenyun 2021-03-02 13:43:21
	 * @param exer 
	 * void
	 */
	void addEx(Exer exer);
	
	/**
	 * 试题模拟修改
	 * 
	 * v1.0 chenyun 2021-03-02 13:43:21
	 * @param exer 
	 * void
	 */
	void updateEx(Exer exer);

	/**
	 * 练习列表
	 * 
	 * v1.0 chenyun 2021年9月17日上午11:19:21
	 * @param questionTypeId
	 * @return List<Exer>
	 */
	List<Exer> getList(Integer questionTypeId);

	/**
	 * 我可以练习的题库
	 * @param userId
	 * @return
	 */
    PageOut listExer(Integer userId);

	/**
	 * 根据用户权限获取用户基础练习题型数量
	 */
	List<Map<String, Object>> getMyQuestionTypeNum(Integer userId);

	/**
	 * 根据用户权限以及题型获取用户基础练习题
	 * @param userId
	 * @return
	 */
	List<Integer> getBaseIds(Integer userId,Integer type);

	/**
	 * 题库试题
	 * @return
	 */
	List<Map<String,Object>> getPaperByQuestionType(Integer questionTypeId,Integer userId);
	/**
	 * 基础试题
	 * @return
	 */
	List<Map<String,Object>> getPaperByType(Integer type,Integer userId);
}
